package org.vehicle.service;

import java.util.List;
import java.util.Map;

import org.vehicle.entity.AlertInfo;
import org.vehicle.entity.ManagerInfo;
import org.vehicle.entity.PersonInfo;
import org.vehicle.entity.VehicleInfo;
import org.vehicle.service.base.BaseService;


public interface PersonInfoService extends BaseService<PersonInfo, Long>{
	
	/**
	 * 添加人员信息
	 * @param personInfo
	 * @param vehicleLicense
	 */
    public AlertInfo addPersonInfo(PersonInfo personInfo, VehicleInfo vehicleInfo,int checkType,ManagerInfo managerInfo,String eventId);

    /**
	 * 通过身份证号查询人员信息
	 * @param certificateCode
	 * @return
	 */
    public PersonInfo findPersonInfoByCertificateCode(String certificateCode);
    
    /**
	 * 通过车牌号查询人员信息
	 * @param vehicleLicense
	 * @return
	 */
    public List<PersonInfo> findPersonInfoByVehicleLicense(String vehicleLicense);
    /**
     * 通过车牌号分页查询人员及告警
     * @param vehicleLicense
     * @param currentPage
     * @param pageSize
     * @return
     */
    public Map<String, Object> findPersonInfoAndAlertPageByVehicleLicense(String vehicleLicense,int currentPage,int pageSize);
    /**
     * 补全人员信息
     * @param personInfo
     * @param vehicleInfo 
     */
	public AlertInfo supplementPerson(PersonInfo personInfo, VehicleInfo vehicleInfo,String certificateCode,ManagerInfo managerInfo,String eventId);
}